/**
 * @开发版权 
 * @项目名称 VFCloud-PaaS
 * @版本信息 v1.0
 * @开发人员 zhous
 * @开发日期 2023-02-21
 * @修订日期
 * @描述  VFCloudPaasApplication
 */
package com.vf.cloud.paas;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.scheduling.annotation.EnableAsync;
import com.jfinal.kit.PropKit;
import com.vf.cloud.paas.common.server.MongodbServer;
import com.vf.cloud.paas.common.server.RedisServer;
import com.vf.cloud.paas.common.util.MYSQLUtil;

import lombok.extern.slf4j.Slf4j;

@Slf4j
@EnableAsync
@SpringBootApplication
public class VFCloudPaaSApplication {

	public static void main(String[] args) {
		PropKit.use("application.properties");
		String softPath = PropKit.get("app.install.path");
		int mysqlPort = PropKit.getInt("mysql.port");
		int redisPort = PropKit.getInt("redis.port");
		int mongodbPort = PropKit.getInt("spring.data.mongodb.port");

		boolean isStartMYSQL = MYSQLUtil.startMYSQL(softPath, mysqlPort);

		if (!isStartMYSQL) {
			log.info("MySQL startup failed.");
			return;
		}

		// 启动有问题，不稳定
		// RedisUtil.startRedis(softPath, redisPort);
		new RedisServer(softPath, redisPort).run();
		new MongodbServer(softPath, mongodbPort).run();

		SpringApplication.run(VFCloudPaaSApplication.class, args);

	}

}
